package pixelradar.entities;

import pixelradar.config.PokeradarConfig;

import java.awt.*;

public enum EntityType {
    STATUE(2.0D, new Color(130, 130, 130)),
    SHRINE(4.0D, new Color(0, 0, 255)),
    GADGET(4.0D, new Color(173, 255, 47)),
    NPC(2.0D, new Color(130, 130, 130)),
    REGULAR(1.9D, new Color(255, 255, 255)),
    PLAYER(2.1D, new Color(0, 0, 0)),
    LOOT(2.1D, new Color(255, 229, 2)),
    SHINY(3.0D, new Color(0, 127, 253)),
    SEARCHED(3.0D, new Color(255, 255, 255)),
    BOSS(3.0D, new Color(0, 0, 0)),
    BOSS_COMMON(3.0D, new Color(192, 170, 192)),
    BOSS_UNCOMMON(3.0D, new Color(0, 212, 63)),
    BOSS_RARE(3.0D, new Color(0, 110, 255)),
    BOSS_EPIC(3.0D, new Color(159, 0, 217)),
    BOSS_LEGENDARY(3.0D, new Color(255, 162, 0)),
    BOSS_ULTIMATE(3.0D, new Color(0, 255, 255)),
    BOSS_SPOOKY(3.0D, new Color(194, 129, 199)),
    BOSS_DROWNED(3.0D, new Color(103, 201, 164)),
    BOSS_EQUAL(3.0D, new Color(255, 255, 0)),
    SPECIAL(5.5D, new Color(204, 0, 255)),
    LEGENDARY(5.5D, new Color(208, 32, 144)),
    ULTRA_BEAST(5.5D, new Color(0, 0, 205)),
    DEN(4.0D, new Color(205, 51, 51)),
    DITTO(3.0D, new Color(255, 0, 0)),
    WORMHOLE(3.0D, new Color(152, 22, 222)),
    DEX(3.0D, new Color(255, 0, 0));

    private final double radius;
    private Color color;

    EntityType(double radiusN, Color color) {
        this.radius = radiusN;
        this.color = color;
    }

    public double getRadius() {
        return this.radius + (PokeradarConfig.dotSize - 1.0D);
    }

    public double getTextureDimension() {
        return this.radius * 3.5D + 6.0D + (PokeradarConfig.textureSize - 1.0D);
    }

    public Color getColor() {
        return this.color;
    }

    public void setColor(Color color) {
        this.color = color;
    }
}
